package 力扣面试经典150;

/**
 * Created with IntelliJ IEDA.
 * Description:
 * User:86186
 * Date:2024-03-13
 * Time:16:30
 */

import java.util.HashMap;
import java.util.Map;

/**
 * 力扣面试经典150:205. 同构字符串
 * 简单
 * 相关标签
 * 相关企业
 * 给定两个字符串 s 和 t ，判断它们是否是同构的。
 * 如果 s 中的字符可以按某种映射关系替换得到 t ，那么这两个字符串是同构的。
 * 每个出现的字符都应当映射到另一个字符，同时不改变字符的顺序。不同字符不能映射到同一个字符上，相同字符只能映射到同一个字符上，字符可以映射到自己本身。
 * 示例 1:
 * 输入：s = "egg", t = "add"
 * 输出：true
 */
public class isIsomorphic {
    public static void main(String[] args) {
        isIsomorphic("cgg","adc");
    }
    public static boolean isIsomorphic(String s, String t) {
//        Map<Character, Character> s2t = new HashMap<Character, Character>();
//        Map<Character, Character> t2s = new HashMap<Character, Character>();
//        int len = s.length();
//        for (int i = 0; i < len; ++i) {
//            char x = s.charAt(i), y = t.charAt(i);
//            if ((s2t.containsKey(x) && s2t.get(x) != y) || (t2s.containsKey(y) && t2s.get(y) != x)) {
//                return false;
//            }
//            s2t.put(x, y);
//            t2s.put(y, x);
//        }
//        return true;
        for(int i = 0; i < s.length(); i++){
           //int indexOf(String str): 返回第一次出现的指定子字符串在此字符串中的索引
            if(s.indexOf(s.charAt(i)) != t.indexOf(t.charAt(i))){
                return false;
            }
        }
        return true;

    }
}
